#include<func.h>

//代码功能：递归地删除目录及其内容，以及删除指定路径下的目录

void delete(const char* path){
    DIR* pdir = opendir(path);
    ERROR_CHECK(pdir,NULL,"opendir");
    errno = 0;
    struct dirent* pdirent;

    while((pdirent = readdir(pdir)) != NULL){
        const char* name = pdirent->d_name;
        if(strcmp(name,".") == 0 || strcmp(name,"..") == 0) continue;

        char subpath[256];
        sprintf(subpath,"%s/%s",path,name);

        if(pdirent -> d_type == DT_DIR){
            delete(subpath);
        }
        else unlink(subpath);
    }
    if(errno){
        perror("readdir");
        exit(1);
    }
    rmdir(path);
    closedir(pdir);
}

void deleteDir(const char* path,const char* name){
    char buf[1024] = {0};
    sprintf(buf,"%s/%s",path,name);
    delete(buf);
    return;
}
  
